#include "FieldCompare.h"

LPCMP_FUNCTION g_CmpFunctions[TYPE_COUNT][COMPARE_COUNT]=
{
	&CFieldCompare::CompareDefault,		//TYPE_NULL
	&CFieldCompare::CompareDefault,
	&CFieldCompare::CompareDefault,
	&CFieldCompare::CompareDefault,
	&CFieldCompare::CompareDefault,

	&CFieldCompareE::CompareI32,			//TYPE_I32
	&CFieldCompareLT::CompareI32,
	&CFieldCompareGT::CompareI32,
	&CFieldCompareLTE::CompareI32,
	&CFieldCompareGTE::CompareI32,

	&CFieldCompareE::CompareI64,			//TYPE_I64
	&CFieldCompareLT::CompareI64,
	&CFieldCompareGT::CompareI64,
	&CFieldCompareLTE::CompareI64,
	&CFieldCompareGTE::CompareI64,

	&CFieldCompareE::CompareBOOL,			//TYPE_BOOL
	&CFieldCompareLT::CompareBOOL,
	&CFieldCompareGT::CompareBOOL,
	&CFieldCompareLTE::CompareBOOL,
	&CFieldCompareGTE::CompareBOOL,

	&CFieldCompareE::CompareFLOAT,		//TYPE_FLOAT
	&CFieldCompareLT::CompareFLOAT,
	&CFieldCompareGT::CompareFLOAT,
	&CFieldCompareLTE::CompareFLOAT,
	&CFieldCompareGTE::CompareFLOAT,

	&CFieldCompareE::CompareDOUBLE,		//TYPE_DOUBLE
	&CFieldCompareLT::CompareDOUBLE,
	&CFieldCompareGT::CompareDOUBLE,
	&CFieldCompareLTE::CompareDOUBLE,
	&CFieldCompareGTE::CompareDOUBLE,

	&CFieldCompareE::CompareSTRING,		//TYPE_CHAR
	&CFieldCompareLT::CompareSTRING,
	&CFieldCompareGT::CompareSTRING,
	&CFieldCompareLTE::CompareSTRING,
	&CFieldCompareGTE::CompareSTRING,

	&CFieldCompare::CompareDefault,		//TYPE_BLOB
	&CFieldCompare::CompareDefault,
	&CFieldCompare::CompareDefault,
	&CFieldCompare::CompareDefault,
	&CFieldCompare::CompareDefault,

	&CFieldCompare::CompareDefault,		//TYPE_OTHER
	&CFieldCompare::CompareDefault,
	&CFieldCompare::CompareDefault,
	&CFieldCompare::CompareDefault,
	&CFieldCompare::CompareDefault
};


LPCMP_INT_FUNCTION g_CmpIntFunctions[TYPE_COUNT]=
{
	&CFieldCompareInt::CompareDefault,			//TYPE_NULL
	&CFieldCompareInt::CompareI32,				//TYPE_I32
	&CFieldCompareInt::CompareI64,				//TYPE_I64
	&CFieldCompareInt::CompareBOOL,				//TYPE_BOOL
	&CFieldCompareInt::CompareFLOAT,			//TYPE_FLOAT
	&CFieldCompareInt::CompareDOUBLE,			//TYPE_DOUBLE
	&CFieldCompareInt::CompareSTRING,			//TYPE_CHAR
	&CFieldCompareInt::CompareDefault,			//TYPE_BLOB
	&CFieldCompareInt::CompareDefault,			//TYPE_OTHER
};